home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / mint / l_1599 / 1393 < prev    next >
Encoding:
Internet Message Format  |  1994-08-27  |  2.9 KB

  1. From: Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
  2. Date: Mon, 16 May 94 10:58:35 +0200
  3. Message-Id: <9405160858.AA29231@issan.informatik.uni-dortmund.de>
  4. To: mint@atari.archive.umich.edu
  5. In-Reply-To: <m0q1IUe-000QxEC@nasim.sta.sub.org> (knarf@nasim.sta.sub.org)
  6. Subject: Re: Deleting owned files...
  7.  
  8. Michael Smith wrote about not being able to extract tar files and
  9. Frank Bartels demonstrated this on an expample:
  10.  
  11. |> lancelot# uname -a
  12. |> MiNT lancelot 1.10 4.4 atari
  13. |> [Note: Running MiNT 1.10 with nox' and Kay's patches, MinixFS 0.60 PL9]
  14. |> lancelot# whoami
  15. |> root
  16. |> lancelot# id
  17. |> uid=0(root) gid=0(wheel)
  18. |> lancelot# tar --version
  19. |> GNU tar version 1.11.2
  20. |> lancelot# tar tzvf uucp-1.03.tar.gz
  21. |> drwxrwxr-x 269/15            0 Apr  7 05:31 1992 uucp-1.03/
  22. |> -r--r--r-- 269/15        17976 Apr  7 05:05 1992 uucp-1.03/COPYING
  23. |> [...]
  24. |> [Note: The file COPYING is read-only]
  25. |> lancelot# tar xzvf uucp-1.03.tar.gz uucp-1.03/COPYING
  26. |> uucp-1.03/COPYING
  27. |> tar: Could not create file uucp-1.03/COPYING : path not found.
  28.  
  29. This is the effect of a recent change in the path parser: MiNT returns
  30. EPATHNF if a path component does not exist and is supposed to be a
  31. directory.  Older versions returned EFILNF in this case, a.k.a. ENOENT
  32. under Unix.  Recompile with the newest MiNTlib which tries to
  33. translate the error code to be Unix compatible.
  34.  
  35. |> lancelot# mkdir uucp-1.03
  36. |> lancelot# tar xzvf uucp-1.03.tar.gz uucp-1.03/COPYING
  37. |> uucp-1.03/COPYING
  38. |> tar: couldn't change access and modification times of uucp-1.03/COPYING:
  39. |>     access denied.
  40.  
  41. The function utime() opens the file for writing when trying to set the
  42. modification time of the file.  This is wrong.  You don't need write
  43. permission on the file if you own it (root can always touch, of
  44. course, but see below).  Again, recompiling with the latest MiNTlib
  45. helps, since it knows about Dcntl(FUTIME), which works without a file
  46. handle.
  47.  
  48. |> lancelot# ll !$
  49. |> -r--r--r--   1 269      15          17976 May 11 19:46 uucp-1.03/COPYING
  50. |> lancelot# tar xzvf uucp-1.03.tar.gz uucp-1.03/COPYING
  51. |> uucp-1.03/COPYING
  52. |> tar: Could not create file uucp-1.03/COPYING : access denied.
  53.  
  54. MiNT does not allow root to open a readonly file for writing.  This
  55. should really be changed, IMHO.
  56.  
  57. |> lancelot# ll !$
  58. |> -r--r--r--   1 269      15          17976 May 11 19:46 uucp-1.03/COPYING
  59.  
  60. IMHO, the biggest problem of MiNT is its compatibility with TOS.  I
  61. would rather have it as much POSIX compatible as possible, even if
  62. some programs relying on TOS features fail (e.g. STZIP, i don't need
  63. it :-).  Therefore i have removed these features from my version of
  64. MiNT, and yes, that is the reason why i don't have problems with tar
  65. or any other Unix utility.  That's the advantage of having the source
  66. code. :-)
  67.  
  68. Andreas.
  69.  
  70. -- 
  71. +------------------------------------------------------------------------+
  72. Andreas Schwab                                      "And now for something
  73. schwab@ls5.informatik.uni-dortmund.de                completely different"
  74.